1. Technical Field
The present invention relates in general to a method and system for data communication in a data processing system and in particular to method and system for data communication across a shared communication network in a data processing system. Still more particularly, the present invention relates to a method and system for data communication across a shared communication network that permit the timing of mastering and snooping operations to be controlled independently.
2. Description of the Related Art
A multiprocessor data processing system typically includes a shared system bus to which a number of processors and other devices (e.g., memory and adapters) are coupled. In such multiprocessor data processing systems, devices frequently need to communicate tasks, data, interrupts, and other information to other devices across the shared system bus. Accordingly, each device may include a bus interface unit (BIU) to manage communication across the shared system bus in conformance with a predetermined bus communication protocol.
The bus communication protocol implemented by each BIU can be viewed as a state machine including a first set of states corresponding to mastering operations and a second set of states corresponding to snooping operations. The timing of state transitions in the bus communication protocol state machine is controlled by a functional signal, which in conventional data processing systems has a fixed frequency that is lower than the system clock frequency by a fixed ratio, for example, 4:1. Thus, if the system clock frequency is 300 MHz, the functional signal frequency is 75 MHz.
In conventional bus communication protocols, mastering and snooping states typically have a fixed timing relationship. For example, a BIU may launch data on the shared system bus (a mastering operation) and then wait four functional signal cycles to latch data from the shared system bus (a snooping operation). Because the timing of mastering and snooping operations are linked by the bus communication protocol state machine and because the functional signal has a fixed frequency, bus communication timing in prior art data processing systems is relatively rigid and does not afford a large amount of flexibility in controlling the flow of communication transactions across the shared system bus. The limited flexibility in bus communication timing also restricts the implementation of the shared system bus to configurations that support the timing requirements dictated by the selected bus communication protocol.
As should thus be apparent, it would be desirable to provide a method and system for bus communication that permit greater flexibility in system bus design. In addition, it would be desirable to provide a method and system for bus communication that permit the timing of mastering and snooping operations to be controlled independently.